/****************************************************
	文件：FConsts.cs
	作者：HuskyT
	邮箱：1005240602@qq.com
	日期：2020/9/4 14:1:23
	功能：Framework 常量
*****************************************************/

using System;
using UnityEngine;
using HTUtility;
using HTFramework.ResKit;

namespace HTFramework
{
    public static partial class FConsts
    {
        #region UI
        /// <summary>
        /// UI window 预制体所在文件夹路径
        /// </summary>
        public const string UI_WINDOW_PREFABS_PATH = "Assets/HTFramework/Scripts/UIKit/Test/Prefabs/Panel/";
        /// <summary>
        /// UIRoot 在 GameRoot 下的路径
        /// </summary>
        public const string UI_ROOT_FIND_PATH = "UIRoot";
        /// <summary>
        /// WndRoot 在 GameRoot 下的路径
        /// </summary>
        public const string WND_ROOT_FIND_PATH = "UIRoot/Window";
        /// <summary>
        /// UGUI 的事件系统 在 GameRoot 下的路径
        /// </summary>
        public const string EVENT_SYSTEM_FIND_PATH = "UIRoot/EventSystem";
        /// <summary>
        /// UICamera 在 GameRoot 下的路径
        /// </summary>
        public const string UI_CAMERA_FIND_PATH = "UIRoot/UICamera";
        /// <summary>
        /// Recycle（对象池回收节点） 在 GameRoot 下的路径
        /// </summary>
        public const string RECYCLE_FIND_PATH = "RecycleNode";
        #endregion

        #region UI Panel Name
        /// <summary>
        /// 加载界面
        /// </summary>
        public const string LOADING_PANEL = "LoadingPanel";
        /// <summary>
        /// 登录界面
        /// </summary>
        public const string LOGIN_PANEL = "LoginPanel";
        #endregion

        #region SceneName
        /// <summary>
        /// 根场景
        /// </summary>
        public const string GAMEROOT_SCENE = "GameRoot";
        /// <summary>
        /// 加载场景
        /// </summary>
        public const string LOADING_SCENE = "Loading";
        /// <summary>
        /// 登录场景
        /// </summary>
        public const string LOGIN_SCENE = "Login";
        #endregion

        #region AssetsPath
        public const string MUSIC_MENUE_PATH = "Assets/GameData/Musics/menusound.mp3";
        #endregion

        #region Scheme 配置表
        /// <summary>
        /// 配置表的AB包 包名
        /// </summary>
        public const string SCHEMES_ABNAME = "schemes";

        public const string PATH_SCHEMES_BINARY_FOLDER = "Assets/GameData/Schemes/Binary/";
        #endregion

        #region 平台相关
        /// <summary>
        /// 平台名称
        /// </summary>
        public class PlatformName
        {
            public const string Windows = "Windows";
            public const string iOS = "iOS";
            public const string Android = "Android";
            public const string Linux = "Linux";
            public const string OSX = "OSX";
            public const string WebGL = "WebGL";
        }
        #endregion

        #region ABBuilder  Config
        /// <summary>
        /// AB包存放路径（打包后的 AB 资源文件存储路径）
        /// </summary>
        public static string PATH_AB = ResUtil.GetABFullPath(string.Empty);
        /// <summary>
        /// AB包配置文件路径（打包前，需要设置的，用于标记 AB 包）
        /// </summary>
        public const string PATH_ABCONFIG = "Assets/Configs/ABConfig.asset";
        /// <summary>
        /// AB包配置文件路径（开发中使用，便于阅读（提供 编辑器下的加载路径；全局唯一的 CRC；所在 AB 包名，资源名；依赖的 AB 包名））
        /// </summary>
        public static string PATH_AB_CONFIG_XML = Application.dataPath + "/Configs/AssetBundleConfig.xml";
        /// <summary>
        /// AB包配置文件路径（实际运行中使用，便于阅读（提供 编辑器下的加载路径；全局唯一的 CRC；所在 AB 包名，资源名；依赖的 AB 包名））
        /// </summary>
        public static string PATH_AB_CONFIG_BINARY = Application.dataPath + "/Resources/Configs/AssetBundleConfig.bytes";
        /// <summary>
        /// AB配置表资源所在的AB包名称（用于打包、加载AB配置表）
        /// </summary>
        public const string CONFIG_ABNAME = "assetbundleconfig";
        /// <summary>
        /// AB包配置表在AB包中的资源名
        /// </summary>
        public const string CONFIG_ASSET_NAME = "AssetBundleConfig";
        #endregion

        #region ResLoadModeSwitchMenu
        /// <summary>
        /// 使用 EditorPrefs 存储 ResLoadModeSwitchMenu 的 key 值
        /// </summary>
        public const string RESLOAD_MODE_KEY = "ResLoad Mode";
        /// <summary>
        /// ResItem 脚本路径
        /// </summary>
        public static string RESITEM_SCRIPT_PATH = Application.dataPath + "/HTFramework/Scripts/ResKit/ResItem/ResItem.cs";
        #endregion

        #region Menu Path
        /// <summary>
        /// AB包打包  菜单路径
        /// </summary>
        public const string AB_BUILD_MENU_PATH = "HTFramework/1.资源打包（AB包）";
        /// <summary>
        /// AB包配置表打包  菜单路径
        /// </summary>
        public const string ABCONFIG_BUILD_MENU_PATH = "HTFramework/2.AB包配置表打包";
        /// <summary>
        /// 资源加载模式 菜单路径
        /// </summary>
        public const string RESLOAD_SWITCH_MENU_PATH = "HTFramework/3.ResLoadInEditModeSwitch";
        #endregion
    }
}
